<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.3"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>FabGL: TFTController Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectalign">
   <div id="projectname">FabGL
   </div>
   <div id="projectbrief">ESP32 Display Controller and Graphics Library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.3 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('classfabgl_1_1_t_f_t_controller.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="classfabgl_1_1_t_f_t_controller-members.html">List of all members</a>  </div>
  <div class="headertitle"><div class="title">TFTController Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div></div>
</div><!--header-->
<div class="contents">

<p>Base abstract class for TFT drivers with SPI connection.  
 <a href="classfabgl_1_1_t_f_t_controller.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="_t_f_t_controller_generic_8h_source.html">TFTControllerGeneric.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for TFTController:</div>
<div class="dyncontent">
<div class="center"><img src="classfabgl_1_1_t_f_t_controller__inherit__graph.png" border="0" usemap="#a_t_f_t_controller_inherit__map" alt="Inheritance graph"/></div>
<map name="a_t_f_t_controller_inherit__map" id="a_t_f_t_controller_inherit__map">
<area shape="rect" title="Base abstract class for TFT drivers with SPI connection." alt="" coords="88,5,191,32"/>
<area shape="rect" href="classfabgl_1_1_i_l_i9341_controller.html" title="Implements ILI9341 display driver controller." alt="" coords="5,80,127,107"/>
<area shape="rect" href="classfabgl_1_1_s_t7789_controller.html" title="Implements ST7789 display driver controller." alt="" coords="151,80,274,107"/>
<area shape="rect" href="classfabgl_1_1_t_t_g_o_t_display_v11_controller.html" title="Implements TTGO T&#45;Display V1.1 display driver controller." alt="" coords="118,155,307,181"/>
</map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ab0bdf5cca484fb2ba637c39384b27fb2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_t_f_t_controller_ab0bdf5cca484fb2ba637c39384b27fb2.html#ab0bdf5cca484fb2ba637c39384b27fb2">begin</a> ()</td></tr>
<tr class="memdesc:ab0bdf5cca484fb2ba637c39384b27fb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes TFT display controller.  <a href="classfabgl_1_1_t_f_t_controller_ab0bdf5cca484fb2ba637c39384b27fb2.html#ab0bdf5cca484fb2ba637c39384b27fb2">More...</a><br /></td></tr>
<tr class="separator:ab0bdf5cca484fb2ba637c39384b27fb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33392310f310cf77b01b532bce77dd5e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_t_f_t_controller_a33392310f310cf77b01b532bce77dd5e.html#a33392310f310cf77b01b532bce77dd5e">begin</a> (int SCK, int MOSI, int DC, int RESX, int CS, int host, int BL=-1, int freq=40000000)</td></tr>
<tr class="memdesc:a33392310f310cf77b01b532bce77dd5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes TFT display controller.  <a href="classfabgl_1_1_t_f_t_controller_a33392310f310cf77b01b532bce77dd5e.html#a33392310f310cf77b01b532bce77dd5e">More...</a><br /></td></tr>
<tr class="separator:a33392310f310cf77b01b532bce77dd5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a968486470b4a1e512d6a24e9cee4ff85"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_t_f_t_controller_a968486470b4a1e512d6a24e9cee4ff85.html#a968486470b4a1e512d6a24e9cee4ff85">begin</a> (SPIClass *spi, gpio_num_t DC, gpio_num_t RESX=GPIO_UNUSED, gpio_num_t CS=GPIO_UNUSED, gpio_num_t BL=GPIO_UNUSED, int freq=40000000)</td></tr>
<tr class="memdesc:a968486470b4a1e512d6a24e9cee4ff85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes TFT display controller with Arduino style SPIClass object.  <a href="classfabgl_1_1_t_f_t_controller_a968486470b4a1e512d6a24e9cee4ff85.html#a968486470b4a1e512d6a24e9cee4ff85">More...</a><br /></td></tr>
<tr class="separator:a968486470b4a1e512d6a24e9cee4ff85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ba0fad14c4c6f0c5dbd40f21be8d4a2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_t_f_t_controller_a5ba0fad14c4c6f0c5dbd40f21be8d4a2.html#a5ba0fad14c4c6f0c5dbd40f21be8d4a2">begin</a> (SPIClass *spi, int DC, int RESX=-1, int CS=-1, int BL=-1, int freq=40000000)</td></tr>
<tr class="memdesc:a5ba0fad14c4c6f0c5dbd40f21be8d4a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes TFT display controller with Arduino style SPIClass object.  <a href="classfabgl_1_1_t_f_t_controller_a5ba0fad14c4c6f0c5dbd40f21be8d4a2.html#a5ba0fad14c4c6f0c5dbd40f21be8d4a2">More...</a><br /></td></tr>
<tr class="separator:a5ba0fad14c4c6f0c5dbd40f21be8d4a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a811a555ee536c2845522b045cb63f713"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_t_f_t_controller_a811a555ee536c2845522b045cb63f713.html#a811a555ee536c2845522b045cb63f713">colorsCount</a> ()</td></tr>
<tr class="memdesc:a811a555ee536c2845522b045cb63f713"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines number of colors this display can provide.  <a href="classfabgl_1_1_t_f_t_controller_a811a555ee536c2845522b045cb63f713.html#a811a555ee536c2845522b045cb63f713">More...</a><br /></td></tr>
<tr class="separator:a811a555ee536c2845522b045cb63f713"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2337a67770ebd18e0ced22ba40d79d24"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enumerations_gadb8147abda8588ce7306a700532148e1.html#gadb8147abda8588ce7306a700532148e1">DisplayControllerType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_bitmapped_display_controller_a2337a67770ebd18e0ced22ba40d79d24.html#a2337a67770ebd18e0ced22ba40d79d24">controllerType</a> ()</td></tr>
<tr class="memdesc:a2337a67770ebd18e0ced22ba40d79d24"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines the display controller type.  <a href="classfabgl_1_1_bitmapped_display_controller_a2337a67770ebd18e0ced22ba40d79d24.html#a2337a67770ebd18e0ced22ba40d79d24">More...</a><br /></td></tr>
<tr class="separator:a2337a67770ebd18e0ced22ba40d79d24"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd0898e61591117a7b8dce2fa4b4c4d4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_bitmapped_display_controller_abd0898e61591117a7b8dce2fa4b4c4d4.html#abd0898e61591117a7b8dce2fa4b4c4d4">enableBackgroundPrimitiveExecution</a> (bool value)</td></tr>
<tr class="memdesc:abd0898e61591117a7b8dce2fa4b4c4d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables or disables drawings inside vertical retracing time.  <a href="classfabgl_1_1_bitmapped_display_controller_abd0898e61591117a7b8dce2fa4b4c4d4.html#abd0898e61591117a7b8dce2fa4b4c4d4">More...</a><br /></td></tr>
<tr class="separator:abd0898e61591117a7b8dce2fa4b4c4d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a03e74ed2fb8e2af22e7fd0454ae828"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_bitmapped_display_controller_a1a03e74ed2fb8e2af22e7fd0454ae828.html#a1a03e74ed2fb8e2af22e7fd0454ae828">enableBackgroundPrimitiveTimeout</a> (bool value)</td></tr>
<tr class="memdesc:a1a03e74ed2fb8e2af22e7fd0454ae828"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables or disables execution time limitation inside vertical retracing interrupt.  <a href="classfabgl_1_1_bitmapped_display_controller_a1a03e74ed2fb8e2af22e7fd0454ae828.html#a1a03e74ed2fb8e2af22e7fd0454ae828">More...</a><br /></td></tr>
<tr class="separator:a1a03e74ed2fb8e2af22e7fd0454ae828"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0872427e4a351bb3590e8d00096e9cba"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_base_display_controller_a0872427e4a351bb3590e8d00096e9cba.html#a0872427e4a351bb3590e8d00096e9cba">getScreenHeight</a> ()</td></tr>
<tr class="memdesc:a0872427e4a351bb3590e8d00096e9cba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines the screen height in pixels.  <a href="classfabgl_1_1_base_display_controller_a0872427e4a351bb3590e8d00096e9cba.html#a0872427e4a351bb3590e8d00096e9cba">More...</a><br /></td></tr>
<tr class="separator:a0872427e4a351bb3590e8d00096e9cba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a749df909b39fd096bf6e2813f2f5324c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_base_display_controller_a749df909b39fd096bf6e2813f2f5324c.html#a749df909b39fd096bf6e2813f2f5324c">getScreenWidth</a> ()</td></tr>
<tr class="memdesc:a749df909b39fd096bf6e2813f2f5324c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines the screen width in pixels.  <a href="classfabgl_1_1_base_display_controller_a749df909b39fd096bf6e2813f2f5324c.html#a749df909b39fd096bf6e2813f2f5324c">More...</a><br /></td></tr>
<tr class="separator:a749df909b39fd096bf6e2813f2f5324c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5308b6853d3778845649f08832e96535"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_base_display_controller_a5308b6853d3778845649f08832e96535.html#a5308b6853d3778845649f08832e96535">getViewPortHeight</a> ()</td></tr>
<tr class="memdesc:a5308b6853d3778845649f08832e96535"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines vertical size of the viewport.  <a href="classfabgl_1_1_base_display_controller_a5308b6853d3778845649f08832e96535.html#a5308b6853d3778845649f08832e96535">More...</a><br /></td></tr>
<tr class="separator:a5308b6853d3778845649f08832e96535"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69dd55b31e9c284aeec6f2b91a8da525"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_base_display_controller_a69dd55b31e9c284aeec6f2b91a8da525.html#a69dd55b31e9c284aeec6f2b91a8da525">getViewPortWidth</a> ()</td></tr>
<tr class="memdesc:a69dd55b31e9c284aeec6f2b91a8da525"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines horizontal size of the viewport.  <a href="classfabgl_1_1_base_display_controller_a69dd55b31e9c284aeec6f2b91a8da525.html#a69dd55b31e9c284aeec6f2b91a8da525">More...</a><br /></td></tr>
<tr class="separator:a69dd55b31e9c284aeec6f2b91a8da525"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37da1545d5037b279fbb10c622121427"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_bitmapped_display_controller_a37da1545d5037b279fbb10c622121427.html#a37da1545d5037b279fbb10c622121427">isDoubleBuffered</a> ()</td></tr>
<tr class="memdesc:a37da1545d5037b279fbb10c622121427"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines whether <a class="el" href="classfabgl_1_1_bitmapped_display_controller.html" title="Represents the base abstract class for bitmapped display controllers.">BitmappedDisplayController</a> is on double buffered mode.  <a href="classfabgl_1_1_bitmapped_display_controller_a37da1545d5037b279fbb10c622121427.html#a37da1545d5037b279fbb10c622121427">More...</a><br /></td></tr>
<tr class="separator:a37da1545d5037b279fbb10c622121427"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15d6a17833353e05e7470e4c10824b98"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_bitmapped_display_controller_a15d6a17833353e05e7470e4c10824b98.html#a15d6a17833353e05e7470e4c10824b98">isDoubleBufferedEnabled</a> ()</td></tr>
<tr class="memdesc:a15d6a17833353e05e7470e4c10824b98"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines whether <a class="el" href="classfabgl_1_1_bitmapped_display_controller.html" title="Represents the base abstract class for bitmapped display controllers.">BitmappedDisplayController</a> is on double buffered mode and it is actually enabled.  <a href="classfabgl_1_1_bitmapped_display_controller_a15d6a17833353e05e7470e4c10824b98.html#a15d6a17833353e05e7470e4c10824b98">More...</a><br /></td></tr>
<tr class="separator:a15d6a17833353e05e7470e4c10824b98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b34c94e321e3cdd1f027e93a11bec91"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enumerations_ga03403b592cc00776d70bc5ad6c177276.html#ga03403b592cc00776d70bc5ad6c177276">NativePixelFormat</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_t_f_t_controller_a4b34c94e321e3cdd1f027e93a11bec91.html#a4b34c94e321e3cdd1f027e93a11bec91">nativePixelFormat</a> ()</td></tr>
<tr class="memdesc:a4b34c94e321e3cdd1f027e93a11bec91"><td class="mdescLeft">&#160;</td><td class="mdescRight">Represents the native pixel format used by this display.  <a href="classfabgl_1_1_t_f_t_controller_a4b34c94e321e3cdd1f027e93a11bec91.html#a4b34c94e321e3cdd1f027e93a11bec91">More...</a><br /></td></tr>
<tr class="separator:a4b34c94e321e3cdd1f027e93a11bec91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94887c6019244300620e71d52e61a554"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_bitmapped_display_controller_a94887c6019244300620e71d52e61a554.html#a94887c6019244300620e71d52e61a554">processPrimitives</a> ()</td></tr>
<tr class="memdesc:a94887c6019244300620e71d52e61a554"><td class="mdescLeft">&#160;</td><td class="mdescRight">Draws immediately all primitives in the queue.  <a href="classfabgl_1_1_bitmapped_display_controller_a94887c6019244300620e71d52e61a554.html#a94887c6019244300620e71d52e61a554">More...</a><br /></td></tr>
<tr class="separator:a94887c6019244300620e71d52e61a554"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb689cfc2364a4d66e3ac3368146c70d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_bitmapped_display_controller_aeb689cfc2364a4d66e3ac3368146c70d.html#aeb689cfc2364a4d66e3ac3368146c70d">refreshSprites</a> ()</td></tr>
<tr class="memdesc:aeb689cfc2364a4d66e3ac3368146c70d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Forces the sprites to be updated.  <a href="classfabgl_1_1_bitmapped_display_controller_aeb689cfc2364a4d66e3ac3368146c70d.html#aeb689cfc2364a4d66e3ac3368146c70d">More...</a><br /></td></tr>
<tr class="separator:aeb689cfc2364a4d66e3ac3368146c70d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad968eec19f2e3663a5431b96894636df"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_bitmapped_display_controller_ad968eec19f2e3663a5431b96894636df.html#ad968eec19f2e3663a5431b96894636df">removeSprites</a> ()</td></tr>
<tr class="memdesc:ad968eec19f2e3663a5431b96894636df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Empties the list of active sprites.  <a href="classfabgl_1_1_bitmapped_display_controller_ad968eec19f2e3663a5431b96894636df.html#ad968eec19f2e3663a5431b96894636df">More...</a><br /></td></tr>
<tr class="separator:ad968eec19f2e3663a5431b96894636df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad20897c5c8bd47f5d4005989bead0e55"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_t_f_t_controller_ad20897c5c8bd47f5d4005989bead0e55.html#ad20897c5c8bd47f5d4005989bead0e55">reset</a> ()</td></tr>
<tr class="memdesc:ad20897c5c8bd47f5d4005989bead0e55"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs display hardware and software.  <a href="classfabgl_1_1_t_f_t_controller_ad20897c5c8bd47f5d4005989bead0e55.html#ad20897c5c8bd47f5d4005989bead0e55">More...</a><br /></td></tr>
<tr class="separator:ad20897c5c8bd47f5d4005989bead0e55"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39c1a8fe6bcfa44007921d844ab7a353"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_t_f_t_controller_a39c1a8fe6bcfa44007921d844ab7a353.html#a39c1a8fe6bcfa44007921d844ab7a353">resumeBackgroundPrimitiveExecution</a> ()</td></tr>
<tr class="memdesc:a39c1a8fe6bcfa44007921d844ab7a353"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resumes drawings after <a class="el" href="classfabgl_1_1_t_f_t_controller_a1837955f56453a1a351577c189bdfad6.html#a1837955f56453a1a351577c189bdfad6" title="Suspends drawings.">suspendBackgroundPrimitiveExecution()</a>.  <a href="classfabgl_1_1_t_f_t_controller_a39c1a8fe6bcfa44007921d844ab7a353.html#a39c1a8fe6bcfa44007921d844ab7a353">More...</a><br /></td></tr>
<tr class="separator:a39c1a8fe6bcfa44007921d844ab7a353"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95ee6b1c231f24ff2f652557dfe43434"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_t_f_t_controller_a95ee6b1c231f24ff2f652557dfe43434.html#a95ee6b1c231f24ff2f652557dfe43434">screenCol</a> ()</td></tr>
<tr class="memdesc:a95ee6b1c231f24ff2f652557dfe43434"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets initial left column of the viewport.  <a href="classfabgl_1_1_t_f_t_controller_a95ee6b1c231f24ff2f652557dfe43434.html#a95ee6b1c231f24ff2f652557dfe43434">More...</a><br /></td></tr>
<tr class="separator:a95ee6b1c231f24ff2f652557dfe43434"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a528a49da4a563a9dbbd396f8d4021d12"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_t_f_t_controller_a528a49da4a563a9dbbd396f8d4021d12.html#a528a49da4a563a9dbbd396f8d4021d12">screenRow</a> ()</td></tr>
<tr class="memdesc:a528a49da4a563a9dbbd396f8d4021d12"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets initial top row of the viewport.  <a href="classfabgl_1_1_t_f_t_controller_a528a49da4a563a9dbbd396f8d4021d12.html#a528a49da4a563a9dbbd396f8d4021d12">More...</a><br /></td></tr>
<tr class="separator:a528a49da4a563a9dbbd396f8d4021d12"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94fd39f8c9245ed51545f9dd6ce7f6ee"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_bitmapped_display_controller_a94fd39f8c9245ed51545f9dd6ce7f6ee.html#a94fd39f8c9245ed51545f9dd6ce7f6ee">setMouseCursor</a> (<a class="el" href="structfabgl_1_1_cursor.html">Cursor</a> *cursor)</td></tr>
<tr class="memdesc:a94fd39f8c9245ed51545f9dd6ce7f6ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets mouse cursor and make it visible.  <a href="classfabgl_1_1_bitmapped_display_controller_a94fd39f8c9245ed51545f9dd6ce7f6ee.html#a94fd39f8c9245ed51545f9dd6ce7f6ee">More...</a><br /></td></tr>
<tr class="separator:a94fd39f8c9245ed51545f9dd6ce7f6ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43a95ed39cce3e065407d1e7a30b2f4f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_bitmapped_display_controller_a43a95ed39cce3e065407d1e7a30b2f4f.html#a43a95ed39cce3e065407d1e7a30b2f4f">setMouseCursor</a> (<a class="el" href="group___enumerations_gab91da6221ce0fc3b24f077fb4b775b2c.html#gab91da6221ce0fc3b24f077fb4b775b2c">CursorName</a> cursorName)</td></tr>
<tr class="memdesc:a43a95ed39cce3e065407d1e7a30b2f4f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets mouse cursor from a set of predefined cursors.  <a href="classfabgl_1_1_bitmapped_display_controller_a43a95ed39cce3e065407d1e7a30b2f4f.html#a43a95ed39cce3e065407d1e7a30b2f4f">More...</a><br /></td></tr>
<tr class="separator:a43a95ed39cce3e065407d1e7a30b2f4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0897f2355f7462b5ab003083418e3b4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_bitmapped_display_controller_ae0897f2355f7462b5ab003083418e3b4.html#ae0897f2355f7462b5ab003083418e3b4">setMouseCursorPos</a> (int <a class="el" href="fabutils_8h_aa6aba27bc1a89db9e350b50bbf881f57.html#aa6aba27bc1a89db9e350b50bbf881f57">X</a>, int <a class="el" href="fabutils_8h_abe4637362df8e341470401813999dd17.html#abe4637362df8e341470401813999dd17">Y</a>)</td></tr>
<tr class="memdesc:ae0897f2355f7462b5ab003083418e3b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets mouse cursor position.  <a href="classfabgl_1_1_bitmapped_display_controller_ae0897f2355f7462b5ab003083418e3b4.html#ae0897f2355f7462b5ab003083418e3b4">More...</a><br /></td></tr>
<tr class="separator:ae0897f2355f7462b5ab003083418e3b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a073d18fdaebd40121102b0cdd81f7e45"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_t_f_t_controller_a073d18fdaebd40121102b0cdd81f7e45.html#a073d18fdaebd40121102b0cdd81f7e45">setOrientation</a> (<a class="el" href="group___enumerations_ga74f510e97d94644d4fc7a3cfd736e59d.html#ga74f510e97d94644d4fc7a3cfd736e59d">TFTOrientation</a> value, bool force=false)</td></tr>
<tr class="memdesc:a073d18fdaebd40121102b0cdd81f7e45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set display orientation and rotation.  <a href="classfabgl_1_1_t_f_t_controller_a073d18fdaebd40121102b0cdd81f7e45.html#a073d18fdaebd40121102b0cdd81f7e45">More...</a><br /></td></tr>
<tr class="separator:a073d18fdaebd40121102b0cdd81f7e45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ac60f74ade23bfba42ef0985635589d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_t_f_t_controller_a2ac60f74ade23bfba42ef0985635589d.html#a2ac60f74ade23bfba42ef0985635589d">setResolution</a> (char const *modeline, int viewPortWidth=-1, int viewPortHeight=-1, bool doubleBuffered=false)</td></tr>
<tr class="memdesc:a2ac60f74ade23bfba42ef0985635589d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets TFT resolution and viewport size.  <a href="classfabgl_1_1_t_f_t_controller_a2ac60f74ade23bfba42ef0985635589d.html#a2ac60f74ade23bfba42ef0985635589d">More...</a><br /></td></tr>
<tr class="separator:a2ac60f74ade23bfba42ef0985635589d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1fe88af050fad975fba452909d8c786e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_t_f_t_controller_a1fe88af050fad975fba452909d8c786e.html#a1fe88af050fad975fba452909d8c786e">setReverseHorizontal</a> (bool value)</td></tr>
<tr class="memdesc:a1fe88af050fad975fba452909d8c786e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inverts horizontal axis.  <a href="classfabgl_1_1_t_f_t_controller_a1fe88af050fad975fba452909d8c786e.html#a1fe88af050fad975fba452909d8c786e">More...</a><br /></td></tr>
<tr class="separator:a1fe88af050fad975fba452909d8c786e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f34f7525ceed2da2c6900783ddc5085"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_t_f_t_controller_a0f34f7525ceed2da2c6900783ddc5085.html#a0f34f7525ceed2da2c6900783ddc5085">setScreenCol</a> (int value)</td></tr>
<tr class="memdesc:a0f34f7525ceed2da2c6900783ddc5085"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set initial left column of the viewport.  <a href="classfabgl_1_1_t_f_t_controller_a0f34f7525ceed2da2c6900783ddc5085.html#a0f34f7525ceed2da2c6900783ddc5085">More...</a><br /></td></tr>
<tr class="separator:a0f34f7525ceed2da2c6900783ddc5085"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae169c4d09811973beaa2eecf5521572d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_t_f_t_controller_ae169c4d09811973beaa2eecf5521572d.html#ae169c4d09811973beaa2eecf5521572d">setScreenRow</a> (int value)</td></tr>
<tr class="memdesc:ae169c4d09811973beaa2eecf5521572d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set initial top row of the viewport.  <a href="classfabgl_1_1_t_f_t_controller_ae169c4d09811973beaa2eecf5521572d.html#ae169c4d09811973beaa2eecf5521572d">More...</a><br /></td></tr>
<tr class="separator:ae169c4d09811973beaa2eecf5521572d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75ba732cc6ae90f53757b588f6c75d7e"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a75ba732cc6ae90f53757b588f6c75d7e"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_bitmapped_display_controller_a75ba732cc6ae90f53757b588f6c75d7e.html#a75ba732cc6ae90f53757b588f6c75d7e">setSprites</a> (T *sprites, int count)</td></tr>
<tr class="memdesc:a75ba732cc6ae90f53757b588f6c75d7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the list of active sprites.  <a href="classfabgl_1_1_bitmapped_display_controller_a75ba732cc6ae90f53757b588f6c75d7e.html#a75ba732cc6ae90f53757b588f6c75d7e">More...</a><br /></td></tr>
<tr class="separator:a75ba732cc6ae90f53757b588f6c75d7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1837955f56453a1a351577c189bdfad6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_t_f_t_controller_a1837955f56453a1a351577c189bdfad6.html#a1837955f56453a1a351577c189bdfad6">suspendBackgroundPrimitiveExecution</a> ()</td></tr>
<tr class="memdesc:a1837955f56453a1a351577c189bdfad6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Suspends drawings.  <a href="classfabgl_1_1_t_f_t_controller_a1837955f56453a1a351577c189bdfad6.html#a1837955f56453a1a351577c189bdfad6">More...</a><br /></td></tr>
<tr class="separator:a1837955f56453a1a351577c189bdfad6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abcd394fa7a4ba17d39e8086ae358d751"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_t_f_t_controller_abcd394fa7a4ba17d39e8086ae358d751.html#abcd394fa7a4ba17d39e8086ae358d751">suspendDoubleBuffering</a> (bool value)</td></tr>
<tr class="memdesc:abcd394fa7a4ba17d39e8086ae358d751"><td class="mdescLeft">&#160;</td><td class="mdescRight">Suspends or resumes double buffering.  <a href="classfabgl_1_1_t_f_t_controller_abcd394fa7a4ba17d39e8086ae358d751.html#abcd394fa7a4ba17d39e8086ae358d751">More...</a><br /></td></tr>
<tr class="separator:abcd394fa7a4ba17d39e8086ae358d751"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-attribs" name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:a6b94fdf3692083a41291eec4920c62d2"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfabgl_1_1_bitmapped_display_controller_a6b94fdf3692083a41291eec4920c62d2.html#a6b94fdf3692083a41291eec4920c62d2">queueSize</a> = 1024</td></tr>
<tr class="memdesc:a6b94fdf3692083a41291eec4920c62d2"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="structfabgl_1_1_size.html" title="Represents a bidimensional size.">Size</a> of display controller primitives queue.  <a href="classfabgl_1_1_bitmapped_display_controller_a6b94fdf3692083a41291eec4920c62d2.html#a6b94fdf3692083a41291eec4920c62d2">More...</a><br /></td></tr>
<tr class="separator:a6b94fdf3692083a41291eec4920c62d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p >Base abstract class for TFT drivers with SPI connection. </p>
<p >Example: </p><pre class="fragment">fabgl::ST7789Controller DisplayController;

void setup() {
  // SCK = 18, MOSI = 23, D/C = 22, RESET = 21, no CS  (WARN: disconnect VGA connector!!)
  DisplayController.begin(18, 23, 22, 21, -1, VSPI_HOST);
  DisplayController.setResolution(TFT_240x240);

  Canvas cv(&amp;DisplayController);
  cv.clear();
  cv.drawText(0, 0, "Hello World!");
}
</pre> 
<p class="definition">Definition at line <a class="el" href="_t_f_t_controller_generic_8h_source.html#l00095">95</a> of file <a class="el" href="_t_f_t_controller_generic_8h_source.html">TFTControllerGeneric.h</a>.</p>
</div><hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="_t_f_t_controller_generic_8h_source.html">TFTControllerGeneric.h</a></li>
<li><a class="el" href="_t_f_t_controller_generic_8cpp_source.html">TFTControllerGeneric.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><b>fabgl</b></li><li class="navelem"><a class="el" href="classfabgl_1_1_t_f_t_controller.html">TFTController</a></li>
    <li class="footer">Generated on Mon Aug 29 2022 13:52:06 for FabGL by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3 </li>
  </ul>
</div>
</body>
</html>
